package cn.zjgsu.service;

import java.io.InputStream;
import java.util.List;

import cn.zjgsu.domain.TbAdmin;
import cn.zjgsu.domain.TbCourseFile;
import cn.zjgsu.domain.TbStudent;
import cn.zjgsu.domain.TbTeacher;

/**
 * @author 颜佳钦
 *
 */

public interface IAdminService {

	/**
	 * 用于获取数据库中教师用户的总数
	 */
	public int getTeacherCount();
	
	/**
	 * 用于分页获取老师的列表
	 *
	 */
	public List<TbTeacher> selectByPage(int startPos, int pageSize);

	
	/**
	 * 单个注册老师
	 *
	 */
	public void addSingleTeacher(TbTeacher teacher);

	/**
	 * 根据教师id删除教师记录
	 *
	 */
	public void deleteTeacher(int pkTeacher);

	
	/**
	 * 根据教师id重置教室密码
	 *
	 */
	public void updateTeacherPwd(int pkTeacher);
	
	
	
	/**
	 * 用于获取数据库中学生用户的总数
	 */
	public int getStudentCount();
	
	/**
	 * 用于分页获取老师的列表
	 *
	 */
	public List<TbStudent> selectByPage2(int startPos, int pageSize);
	
	
	/**
	 * 单个注册学生
	 *
	 */
	public void addSingleStudent(TbStudent student);
	
	
	/**
	 * 根据学生id删除学生记录
	 *
	 */
	public void deleteStudent(int pkStudent);
	
	

	/**
	 * 根据学生id重置学生密码
	 *
	 */
	public void updateStudentPwd(int pkStudent);
	

	
	/**
	 * 导入教师excel批量注册
	 * @throws Exception 
	 *
	 */
	public void impotTeacherExcel(InputStream in, String fileName) throws Exception;

	public void impotStudentExcel(InputStream in, String fileName)throws Exception;

	
	
	
	/**
	 * 按照教师工号查询记录
	 
	 *
	 */
	
	public List<TbTeacher> searchByTeacherNum(String teacherNum);
	
	
	
	
	/**
	 * 按照教师姓名查询记录
	 
	 *
	 */
	public List<TbTeacher> searchByTeacherName(String teacherName);
	
	

	
	
	/**
	 * 按照学生学号，姓名查询记录
	 
	 *
	 */
	public List<TbStudent> searchByStudentNum(String studentNum);

	public List<TbStudent> searchByStudentName(String studentNum);

	
	
	/**
	 * 注册管理员
	 
	 *
	 */
	public void addAdmin(TbAdmin admin);
	
	/**
	 * 上传课表文件
	 
	 *
	 */
	public void importCourseFile(TbCourseFile courseFile);
	
	
	/**
	 * 用于获取数据库中课程文件的总数
	 */
	public int getCourseFileCount();

	/**
	 * 用于分页获取文件列表
	 *
	 */
	public List<TbCourseFile> selectByPage3(int startPos, int pageSize);
	
	
	/**
	 * 根据课表id删除学生记录
	 *
	 */

	public void deleteCourseFile(int pkCourseFile);
	
	
	
	
	/**
	 * 根据课表id删除学生记录
	 *
	 */

	public TbCourseFile selectCourseFileByPrimaryKey(long pkCourseFile);

	


}
